<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="./index.css" />
<title>记事本</title>
</head>
<body>

<!-- 主体区域 -->
<section id="app">
  <!-- 输入框 -->
  <header class="header">
    <h1>小黑记事本</h1>
    <input v-model="username" placeholder="请输入任务" class="new-todo" />
    <button @click="add()" class="add">添加任务</button>
  </header>
  <!-- 列表区域 -->
  <section class="main">
    <ul class="todo-list">
      <li class="todo" v-for="(item,index) in list" :key="item.id">
        <div class="view">
          <span class="index">{{index+1}}.</span> <label>{{item.name}}</label>
          <button @click="del(item.id)" class="destroy"></button>
        </div>
      </li>
    </ul>
  </section>
  <!-- 统计和清空 → 如果没有任务了，底部隐藏掉 → v-show -->
  <footer class="footer" v-show="list.length>0">
    <!-- 统计 -->
    <span class="todo-count">合 计:<strong>{{list.length}} </strong></span>
    <!-- 清空 -->
    <button @click="clear()" class="clear-completed">
      清空任务
    </button>
  </footer>
</section>

<!-- 底部 -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
  // 添加功能
  // 1. 通过 v-model 绑定 输入框 → 实时获取表单元素的内容
  // 2. 点击按钮，进行新增，往数组最前面加 unshift
  const app = new Vue({
    el: '#app',
    // 数据
    data: {
    username:'',
    list:[
      {id:1,name:'跑步一公里'},
      {id:2,name:'游泳100米'},
      {id:3,name:'写代码'}
    ]
    },
    // 方法
    methods: {
      // 事件处理函数
      del(id){
       this.list=this.list.filter(v => v.id !==id)
      },
      add(){
        // 判断是否为空
       if(this.username.trim()===''){
        alert('请输入正确的内容')
        return
       }
      //  添加
       this.list.unshift({
        id:+new Date(),//Data.now()
        name:this.username
       })
       this.username=''
      },
      clear(){
        this.list=[]
      }
    }
  })

</script>
</body>
</html>
